#pragma once

#include<BWAPI.h>

#include"Location.h"

using namespace BWAPI;

namespace Custom
{
	class Unit;
}

class Command
{
public:
	enum Type{DoNothing , Attack , Move};
	Command()
		:Type(DoNothing),
		TargetUnit(NULL),
		TargetPosition(0 , 0)
	{
	}
	Command(Type type , Custom::Unit* targetUnit)//Attack
		:Type(type),
		TargetUnit(targetUnit),
		TargetPosition(0 , 0)
	{
	}
	Command(Type type , Location location)//Move
		:Type(type),
		TargetUnit(NULL),
		TargetPosition(location)
	{
	}
	//--
	Type Type;
	Custom::Unit* TargetUnit;
	Location TargetPosition;
};